package Peoxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class PeoxyUtil {
    public static UserService createProxy(UserService userService){
        //1第一个参数是类加载器，(类.class)得到类的对象S，再(S.getClassLoader)得到类的加载器
        //2new一个接口的数组,指定代理长什么样子
        //3new一个InvocationHandler的匿名内部类对象,告诉代理干什么事情
        UserService userService1=(UserService) Proxy.newProxyInstance(UserService.class.getClassLoader(),
                new Class[]{UserService.class}, new InvocationHandler() {
                    @Override
                    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                        if(method.getName().equals("login")||method.getName().equals("deleteUsers")||
                                method.getName().equals("selectUsers")){
                            Object RS=method.invoke(userService,args);

                        }

                        return null;
                    }
                }
                );
        return userService1;
    }
}
